Method and system for topic based virtual environments and expertise detection

ABSTRACT

A method and system for creating a topic-based 3D virtual environment. The inventive method and system provides a 3D virtual environment that includes images, scenery, and content that relate to the topic of discussion in the virtual environment. If the virtual “meeting” should be adjourned or ended, the system saves the data, discussions that occurred during the meeting, and all the scenery and content related to the virtual meeting so that the meeting can be continued with all of the content and imagery in place. A virtual environment template containing this information is loaded and used for subsequent virtual meetings discussing the same topic.

CROSS-REFERENCE TO RELATED APPLICATION

n/a

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

n/a

FIELD OF THE INVENTION

The present invention relates to virtual environments and moreparticularly to a method and system for creating virtual environmentcontent based on a user's specific topics of interest.

BACKGROUND OF THE INVENTION

Virtual environments simulate actual or fantasy three dimensional (“3D”)environments and allow for users to interact with each other and withconstructs in the environment via remotely-located clients. In a virtualenvironment, a universe is simulated within a computer processor/memory.Multiple people may participate in the virtual environment through acomputer network, e.g., a local area network or a wide area network suchas the Internet. Each participant in the universe selects an “avatar” torepresent them in the virtual environment. The avatar is often a 3Drepresentation of a person or other object. Participants send commandsto a virtual environment server that controls the virtual environmentthereby causing their avatars to move and interact within the virtualenvironment. In this way, the participants are able to cause theiravatars to interact with other avatars and other objects in the virtualenvironment.

A virtual environment often takes the form of a virtual-reality 3D map,and may include rooms, outdoor areas, and other representations ofenvironments commonly experienced in the physical world. The virtualenvironment may also include multiple objects, people, animals, robots,avatars, robot avatars, spatial elements, and objects/environments thatallow avatars to participate in activities. Participants establish apresence in the virtual environment via a virtual environment client ontheir computer, through which they can create an avatar and then causethe avatar to “live” within the virtual environment.

As the avatar moves within the virtual environment, the view experiencedby the avatar changes according to where the avatar is located withinthe virtual environment. The views may be displayed to the participantso that the participant controlling the avatar may see what the avataris seeing. Additionally, many virtual environments enable theparticipant to toggle to a different point of view, such as from avantage point outside (i.e. behind) the avatar, to see where the avataris in the virtual environment.

The participant may control the avatar using conventional input devices,such as a computer mouse and keyboard or optionally may use a morespecialized controller. The inputs are sent to the virtual environmentclient, which forwards the commands to one or more virtual environmentservers that are controlling the virtual environment and providing arepresentation of the virtual environment to the participant via adisplay associated with the participant's computer.

Depending on how the virtual environment is set up, an avatar may beable to observe the environment and optionally also interact with otheravatars, modeled objects within the virtual environment, robotic objectswithin the virtual environment, or the environment itself, i.e. anavatar may be allowed to go for a swim in a lake or river in the virtualenvironment. In these cases, client control input may be permitted tocause changes in the modeled objects, such as moving other objects,opening doors, and so forth, which optionally may then be experienced byother avatars within the virtual environment.

“Interaction” by an avatar with another modeled object in a virtualenvironment means that the virtual environment server simulates aninteraction in the modeled environment in response to receiving clientcontrol input for the avatar. Interactions by one avatar with any otheravatar, object, the environment or automated or robotic avatars may, insome cases, result in outcomes that may affect or otherwise be observedor experienced by other avatars, objects, the environment, and automatedor robotic avatars within the virtual environment.

A virtual environment may be created for the user, but more commonly thevirtual environment may be persistent, in which it continues to existand be supported by the virtual environment server even when the user isnot interacting with the virtual environment. Thus, where there is morethan one user of a virtual environment, the environment may continue toevolve when a user is not logged in, such that the next time the userenters the virtual environment it may be changed from what it lookedlike the previous time.

Virtual environments are commonly used in on-line gaming, such as forexample in online role playing games where users assume the role of acharacter and take control over most of that character's actions.However, in addition to games, virtual environments are being used tosimulate real life environments to provide an interface for users thatwill enable on-line education, training, shopping, and other types ofinteractions between groups of users and between businesses and users.

In a business setting, members of the virtual environment may wish tocommunicate and interact with users in their virtual environment, usersin other virtual environments, and people in the real word environment.This is particularly applicable in the business world where “virtual”meetings have become very popular. In a virtual meeting, attendees, bythe click of a button, can “enter” a conference room, view thesurrounds, converse with real world participants and contribute to themeeting.

Constructing content for 3D virtual environments is both expensive andtime consuming. In the “real” world, meetings are typically held ingeneric meeting rooms. As a result, all relevant materials need to bebrought to the meeting room. For example, if a laptop computer isbrought to the meeting, the relevant data from the laptop needs to belocated and then displayed. In some cases there may be a conflictbetween all the materials that a meeting attendee wishes to refer to atthe meeting and the limited display area on the meeting's projectorscreen. However, after the meeting, these materials must be packed upand reconstructed if there are any follow-up meetings regarding the sameor similar topic.

In the virtual environment world, the same problem arises. It is oftendesirable to ensure that relevant materials are automatically extractedand displayed on the walls of the virtual environment scene. It is alsodesirable for displays within the virtual environment to be tailored andupdated by participants so that return visits to the virtual environmentleave the displays untouched. Thus, virtual meetings covering a similartopic that was presented earlier should be able to display the samematerials related to that topic. This is normally done by obtaining datarelated to that topic and reconstructing entire virtual worldenvironments. Obtaining data related to a specific topic may involvesearching multiple databases, a time consuming and costly task. Further,having to reconstruct entire virtual “rooms” and load objects related tothe topic at various locations within the room is exceedingly timeconsuming.

Another difficulty related to virtual business meetings is that theoutput from formal meetings and informal discussions ancillary to themeeting must typically be manually recorded and are typically not filedin such a way that the data is associated with the formal documentsrelated to the topic. There is a need to ensure that meeting minutes,document updates, new documents, white board sessions and the like areall stored in such a fashion that they can be easily accessed from thevirtual environment for that topic.

Another problem encountered in virtual business meetings is that inlarge organizations it is often difficult to locate experts or even asignificant number of interested parties related to a specific topic.There is a need to associate communications and data with specifictopics such that a system can collect, over time, information aboutwhich topics are of interest to individuals. It is also desirable for asystem to deduce which users might qualify as experts on a topic forfuture consultation.

There is therefore a need for a system that can create content for avirtual environment meeting by constructing a virtual environmenttemplate having fixed behaviors, fixed materials and other informationrelated to the topic of the meeting without having to reconstruct thevirtual environment meeting.

SUMMARY OF THE INVENTION

The present invention advantageously provides a method and system forcreating topic-based virtual environments. In one aspect of theinvention, a method for a topic-based virtual environment is provided.The method includes identifying at least one topic, the at least onetopic being the subject of a virtual environment instance, selecting avirtual environment template, loading data from a database into thevirtual environment template, the data being related to the at least onetopic, and rendering the virtual environment instance, the virtualenvironment including the virtual environment template. In the contextof this disclosure, a virtual environment template defines the basicstructure for a virtual environment, i.e., rooms, doors, halls, etc., ofa virtual building. A virtual environment instance is a live, runningvirtual environment created and instantiated based on a template. Onceinstantiated, the virtual environment is populated with avatars anddata. Creation of virtual environment templates is typically performedat a different time than an actual meeting in a topic-based virtualenvironment.

In another aspect of the invention, a system for constructing atopic-based virtual environment is provided. The system includes atemplate selector, the template selector for selecting a virtualenvironment template related to at least one topic, the at least onetopic being the subject of a virtual environment instance, a database,the database for storing data related to the at least one topic, and aprocessor, the processor for loading the data related to the at leastone topic from the database into the virtual environment template, thevirtual environment template included in the virtual environment.

In yet another aspect of the invention, a method of constructing athree-dimensional virtual environment template is provided. The methodincludes identifying a topic in an initial three-dimensional virtualenvironment instance, obtaining data from a database, the obtained datarelated to the identified topic, defining at least one three-dimensionalplaceholder within the initial three dimensional environment instance,and loading the identified data into the placeholders.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present invention, and theattendant advantages and features thereof, will be more readilyunderstood by reference to the following detailed description whenconsidered in conjunction with the accompanying drawings wherein;

FIG. 1 is a block diagram of an exemplary system showing clientinteraction between client devices in a virtual environment constructedin accordance with the principles of the present invention;

FIG. 2 is a flowchart of an exemplary method for creating a topic-basedvirtual environment;

FIG. 3 is a diagram of a virtual environment template as created by anembodiment of the present invention; and

FIG. 4 is a flowchart of an exemplary method for identifying experts andpersons of interest for a specific topic in accordance with theprinciples of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Before describing in detail exemplary embodiments that are in accordancewith the present invention, it is noted that the embodiments resideprimarily in combinations of apparatus components and processing stepsrelated to implementing a system and method for mapping real world usersinto a virtual environment by providing a mixed reality world wherevirtual user avatars and real world user avatars are both represented ona viewing screen.

As used herein, relational terms, such as “first” and “second,” “top”and “bottom,” and the like, may be used solely to distinguish one entityor element from another entity or element without necessarily requiringor implying any physical or logical relationship or order between suchentities or elements.

One embodiment of the present invention advantageously provides a methodand system for creating a topic-based 3D virtual environment. Theinventive method and system provides a 3D virtual environment thatincludes images, scenery, and content that relate to the topic ofdiscussion in the virtual environment. If the virtual “meeting” shouldbe adjourned or ended, the system saves the data, discussions thatoccurred during the meeting, and all the scenery and content related tothe virtual meeting so that the meeting can be continued with all of thecontent and imagery in place. Topics discussed and communicationsexchanged during the meeting are saved, stored and analyzed such thatpersons having the requisite knowledge of the topic can be identified asexperts or interested parties so that they may be consulted duringsubsequent virtual meetings pertaining to the topic.

Referring now to the drawing figures in which like reference designatorsrefer to like elements, there is shown in FIG. 1 an exemplary system 10showing the interaction between a plurality of users of computingdevices 12 and one or more virtual environments. A user may access thevirtual environment from their computing device 12 over a packet network14 or other common communication infrastructure. Communication sessionssuch as audio calls between the users of the computing devices 12 may beimplemented by one or more communication servers 18.

Interaction between virtual environment users in the virtual environmentis facilitated by avatars, which are characters representing the users.Each user in the virtual environment has their own avatar and maycustomize its appearance to their choosing by selecting from varioushairstyles, outfits, skin tones, gender, facial features and the like.Movements and interaction of an avatar in the virtual environment iscontrolled by the corresponding user by using a combination ofinput/output devices such as a computer mouse, keyboard, audio headsetand microphone.

The virtual environment may be implemented as using one or moreinstances, each of which may be hosted by one or more virtualenvironment servers 16. Avatars representing users may move within thethree-dimensional (“3D”) coordinate space of the virtual environment andinteract with objects and other avatars within the 3D coordinate space.Virtual environment servers 16 maintain the virtual environment andgenerate a visual presentation for each user based on the location ofthe user's avatar within the virtual environment. The view may alsodepend on the direction in which the avatar is facing and the selectedviewing option, such as whether the user has opted to have the viewappear as if the user was looking through the eyes of the avatar, orwhether the user has opted to pan back from the avatar to see a threedimensional view of where the avatar is located and what the avatar isdoing in the three dimensional computer-generated virtual environment.

Computing device 12 runs a virtual environment client 20 and provides auser interface 22 to the virtual environment. Virtual environment client20 includes a 3D virtual environment engine 21. 3D engine 21 renders the3D virtual environment. Database 17 contains information related tospecific topics that may be raised at virtual meetings. Thisinformation, as will discussed in greater detail below, may be placedwithin the virtual environment where they can be easily accessed andreferred to at subsequent meetings relating to the same topic. 3D engine21 may include processor 19 which, as will be discussed in greaterdetail below, can create a 3D virtual environment, determine if changesare to be made to the virtual environment, load data from database 17into the virtual environment, and identify experts and persons havingspecial knowledge or interest in the topic(s) discussed during thevirtual environment instance. Processor 19 need not be within 3D engine21 but can be situated remotely and in communication with engine 21. 3Dengine 21 also includes a virtual template selector (VTS) 23, whichcreates a 3D virtual environment template based on the topic or topicsdiscussed at the virtual meeting.

Each user has a computing device 12 that may be used to access themulti-dimensional computer-generated virtual environment. Notably,virtual environment client 20 within computing device 12 may be astand-alone software application or may alternatively be a thin clientthat simply requires the use of an Internet web browser and an optionalbrowser plug-in. A separate virtual environment client 20 may berequired for each virtual environment that the user would like toaccess, although a particular virtual environment client 20 may bedesigned to interface with multiple virtual environment servers 16. Thevirtual environment client also enables the user to communicate withother users who are also participating in the multi-dimensionalcomputer-generated virtual environment. The communication portion of theclient may be a separate process running on user interface 22.

Computing device 12, virtual environment servers 16 and communicationservers 18 each include CPUs, memory, volatile/non-volatile storage,communication interfaces and hardware and software peripherals to enableeach to communicate with each other across network 14 and to perform thefunctions described herein.

The user may see a representation of a portion of the multi-dimensionalcomputer-generated virtual environment on a display 24 and inputcommands via a user input device 26 such as a mouse, touch pad, orkeyboard. Display 24 may be used by the user to transmit/receive audioinformation while engaged in the virtual environment. For example,display 24 may be a display screen that includes an integrated speakerand microphone. The user interface generates the output shown on display24 under the control of virtual environment client 20, receives theinput from the user via user input device 26 and passes the user inputto the virtual environment client 20. Virtual environment client 20passes the user input to virtual environment server 16 which causes theuser's avatar or other object under the control of the user to executethe desired action in the virtual environment. In this way, the user maycontrol a portion of the virtual environment, such as the person'savatar or other objects in contact with the avatar, to change thevirtual environment for the other users of the virtual environment.

A virtual environment instance can consist of one or more virtualenvironment meetings about one or more specific topics where attendeesat the meeting include at least one virtual environment client 20.Subsequent virtual environment meetings may include the same topic ortopics discussed or presented in previous virtual meetings. 3D engine 21renders a virtual environment instance based on a virtual environmenttemplate and displays data related to the topic in the content holdersof the virtual environment instance. Virtual environment server 16identifies the stored data related to the topic, loads the data, andupdates database 17. In one embodiment, a topic engine 25, which may bepart of virtual environment server 16 or may be a separate, relatedcomponent as shown in FIG. 1, performs the functions of identifying thedata, storing the data related to the topic and updating database 17.FIG. 2 illustrates an exemplary embodiment of this process.

In FIG. 2, it is determined if a new topic is discussed, presented orotherwise raised during a virtual environment instance (step S30). Thisdetermination is typically based on data provided by the user either atthe start of the meeting, i.e., through a user interface dialog, or viaparameters passed during meeting instantiation. If it is determined thata new topic is created, virtual template selector 23 of 3D engine 21creates a three dimensional 3D template and related parameters (stepS32). The 3D template may include placeholders that can containinformation related to topics raised in the virtual environment meeting.For example, the template and parameters can create spaces such asvirtual rooms, desks, walls, and projector screens where informationrelated to the topics raised during the meeting can be displayed. Thetemplate may also include 3D areas where 3D objects related to eachtopic may be placed.

Database 17 stores information according to specific topics. Thisinformation is typically provided by a user and contains initial datarelated to the topic. Once a new topic has been identified, thisinformation is accessed so that the virtual meeting can begin (stepS34). Since the topic is new, outside databases may have to be contactedin order to collect information necessary to begin the meeting. Forexample, attendee lists, attendee background information, and otherinformation related to the new topic may be retrieved from otherdatabases such that data related to the new topic is created and storedin database 17 (step S36).

If it is determined (step S30), that the virtual meeting will contain nonew topics but only topics related to a previous meeting (step S38),then the appropriate template is selected and instantiated into therunning virtual environment (step S40), and the topic-based data isloaded into the template (step S42). For example, meeting minutes,PowerPoint presentations, and emails from a previous meeting related toa company's marketing budget for the upcoming year are stored togetherso they may be easily accessed during the next marketing meeting. This“starting” information is created by 3D engine 21 and stored in database17 (step S36) in such a fashion that any displays, notes, presentations,sub-discussions, and minutes that occurred during a previous virtualmeeting can be reproduced and a new meeting can be initiated as acontinuation of the previous meeting. In this fashion, the virtualmeeting attendees need not be reminded to bring their notes or tax theirmemories trying to remember where the previous virtual meeting left off.Instead, all materials previously used or displayed are allocated totheir respective placeholders within the virtual meeting “room” (stepS44).

Once the parameters and data have been loaded into the created 3Dtemplate, the 3D engine 21 renders the virtual environment instance(step S46), users can enter the virtual environment, and activities atthe meetings are monitored (step S47). When it is determined that thevirtual environment instance has concluded (step S48), a record ofactivities occurring during the meeting are recorded and stored indatabase 17. For example, this may include the names of those thatparticipated in the meeting, what sub-meetings were held, and whatdocuments were created. Communications, e.g., notes, presentations,discussions, side-bars, etc. related to the meeting are monitored,documented and stored within the database (step S46). If 3D engine 21determines that new information is provided, (step S50), updates to theexisting database 17 are made and the new information is added to theexisting record pertaining to the virtual instance and stored (stepS52).

When it is determined that a new topic is the subject of a virtualenvironment instance (step S30), a 3D template for a virtual environmentis selected from a set of available templates. FIG. 3 is an illustrationof an exemplary embodiment of a virtual 3D environment template 52selected by virtual template selector 23 of 3D engine 21. The selectionof template 52 includes instantiating the template 52 for the new topicand populating placeholders within the template with data related to thetopic. Instantiating template 52 may include defining various 3D objectsthat may appear in a virtual 3D environment. For example, the objectsmay include building structures, rooms, tables, plants, projectorscreens, speaker podiums, which may all appear along with avatarsrepresenting the participants in a virtual meeting. FIG. 3 illustrates avirtual room having walls 54 and a plurality of placeholders 56 thatdefine a virtual 3D surface in the 3D virtual environment that is toreceive data related to the topic being discussed at the virtualmeeting.

Placeholders 56 define a particular shape and surface and are sized andoriented within the 3D virtual environment such that they are laterfilled with data related to the topic of interest. Placeholders 56 map adata texture such as, for example, a web page, a PowerPoint document, ora pdf file, into the 3D virtual environment in an initial location, sizeand shape defined by template 52. In one typical example, placeholders56 define a flat rectangular surface. However, template placeholders 56need not be flat or rectangular but can be of any shape such as a sphereor cube and can include all types of three dimensional shapes.

In addition to placeholders 56, textures within the virtual environmentare defined. Examples of textures could be the lighting of the virtualenvironment world, e.g., brick or plaster walls, light from the sun orlight from a florescent desk lamp or overhead skylight, etc. Whichevertextures, placeholders 56 and objects chosen for template 52 are savedwithin database 17 so that they can quickly be accessed to duplicate thevirtual environment for subsequent meetings regarding the same topic.Any updates to the textures that occur during the meeting (a meetingthat started in the afternoon sunshine and continues into evening dusk)are stored. Further, in some embodiments, placeholders 56 may becustomized by allowing them to be moved, edited, and/or deleted to suitthe user's needs. Additional placeholders 56 may also be added to walls54 or other locations throughout the virtual environment. Thus, template52 may be customized in order to suit the user's needs and according tothe activity that occurs during a virtual environment instance.

Topic engine 25 monitors the activities that occur during the virtualenvironment instance. Processor 19 examines data from the meetingincluding for example, meeting minutes, conversations and contributionsmade by meeting attendees and based upon this activity determines ifcertain meeting attendees possess a particular interest or expertiseregarding the topic or topics that are the subject of the virtualmeeting.

FIG. 4 illustrates the process performed by 3D engine 21 to determine ifany meeting attendees or company employees qualify as “experts” on thesubject topic. Referring to FIG. 4, 3D engine 21 identifies a topic(step S58), and monitors the activity at the virtual environmentinstance related to that topic (step S60). Processor 19 analyzes theactivity determines if one or more persons might qualify as an “expert”on the topic. For example, one or more meeting attendees may submitanswers to questions posed by other attendees about a specific subject.Processor 19 determines if the amount of activity, i.e., answers totopic-related questions, exceeds a given threshold that would qualifythe attendees that answered the questions as “experts”. If so, the namesor other identification indicia of these attendees are identified indatabase 17 as experts so that they can be consulted if the same orsimilar topics arise at subsequent meetings.

In one embodiment, system 10 detects experts by monitoring one or moreinputs and assigning a weight (or score) to each type of input and thequality of that input. Thus, a user is considered more knowledgeableabout a topic as their score for that topic increases. A threshold scorecan be used to determine if a user is qualifies as an “expert”.Alternately, the top n-scoring users can qualify as experts.

For example, inputs that can be analyzed to adjust the score for a usermay include documents, web pages and/or media displayed or shared by auser. Thus, if a user displays or shares a document related to a topic,their score increases by an amount determined by the relevance of thedocument to the topic and a base shared media factor. Another input thatmay be used is text and voice messages generated by a user, wherespeech-to-text technology may be used for analysis. Thus, if a usertalks or texts about a specific topic, their score increases by anamount related to the relevance of the information and a base speechfactor.

Other examples of inputs that may be analyzed to determine if a userqualifies as an expert are documents, web pages, and/or media displayedby anyone, but where the user is marked as the author either in thecontent itself or via metadata. Again, the user's score increases basedon the relevance of the document and a base authorship factor. Stillanother example of an input is participation in meetings related to aspecific topic. If a user is a major participant in a meeting, theirscore increases by an amount related to their level of participation.Participation may be measured by amount of conversation, gestures, mediainteracted with, time actively controlling ones avatar, etc.

In one embodiment, a formula can be used to assess a user'squalifications as an expert. For example, when a user shares a documentor some form of media, an evaluation score can be calculated as follows:Users new score=User's existing score+(shared media relevance*base mediasharing factor). This formula is exemplary only and the presentinvention may be expanded to encompass other formulas to evaluate userperformance.

Groups of interested users can be also computed by a similar method,except instead of deriving an expert score for authoring and sharingdocuments, an interest score is calculated for viewing media andlistening to conversation related to a topic. Users can then be filteredaccording to those having a score higher than some threshold interestscore for a particular topic. This will allow organizations to shareinformation about a topic with those who have shown themselves to beinterested or to invite users to presentations, meetings, functions,etc.

Thus, processor 19 can access the names of potential experts stored indatabase 17 to determine if anyone qualifies for expert status. If aparticular topic or sub-topic is the subject of communications occurringat a virtual environment instance, and the number of communications ordocuments referred to exceeds a threshold value, processor 19 determinesthat there is enough interest in a particular topic or sub-topic towarrant an expert. Database 17 may contain a listing of the names ofpotential experts, with their backgrounds and area of expertise.

Similarly, instead of “experts”, database 17 may store the names ofpeople having an interest in a particular topic or topics. For example,if the virtual environment instance is a virtual meeting of a book cluband if processor 19 determines from the activity occurring at thevirtual environment meeting that the book club is seeking additionalmembers having an interest in 19^(th) century detective fiction, thenprocessor 19 can search database 17 for the name of book clubsubscribers having such an interest. Database 17 may also store otherexpert identifiers such as user IDs, email addresses, and phone numbersso that the experts can be identified and contacted.

The identification of experts and persons with interest with regard to aspecific topic is not limited to just the communications or answersprovided by virtual meeting attendees. Other activities such asdocuments brought to the meeting, emails exchanged during the meeting,and visuals presented at the meeting are all activities that aremonitored by 3D engine 21 to determine if certain individuals qualify asexperts about a topic or if certain individuals possess a requisitelevel of interest such that they may be consulted during a subsequentvirtual meeting that raises the same or similar topic.

The present invention can be realized in hardware, software, or acombination of hardware and software. Any kind of computing system, orother apparatus adapted for carrying out the methods described herein,is suited to perform the functions described herein.

A typical combination of hardware and software could be a specialized orgeneral purpose computer system having one or more processing elementsand a computer program stored on a storage medium that, when loaded andexecuted, controls the computer system such that it carries out themethods described herein. The present invention can also be embedded ina computer program product, which comprises all the features enablingthe implementation of the methods described herein, and which, whenloaded in a computing system is able to carry out these methods. Storagemedium refers to any volatile or non-volatile storage device.

Computer program or application in the present context means anyexpression, in any language, code or notation, of a set of instructionsintended to cause a system having an information processing capabilityto perform a particular function either directly or after either or bothof the following a) conversion to another language, code or notation; b)reproduction in a different material form.

In addition, unless mention was made above to the contrary, it should benoted that all of the accompanying drawings are not to scale.Significantly, this invention can be embodied in other specific formswithout departing from the spirit or essential attributes thereof, andaccordingly, reference should be had to the following claims, ratherthan to the foregoing specification, as indicating the scope of theinvention.

1. A method for a topic-based virtual environment, the methodcomprising: identifying at least one topic, the at least one topic beingthe subject of a virtual environment instance; selecting a virtualenvironment template; loading data from a database into the virtualenvironment template, the data being related to the at least one topic;and rendering the virtual environment instance, the virtual environmentincluding the virtual environment template.
 2. The method of claim 1,further comprising updating the database to include at least someinformation presented during the virtual environment instance.
 3. Themethod of claim 1, wherein the virtual environment instance includes atleast one placeholder, the method further comprising displaying at leastone item related to the at least one topic in the at least oneplaceholder.
 4. The method of claim 3, wherein the displayed at leastone item related to the at least one topic is displayed during asubsequent virtual environment instance related to the at least onetopic.
 5. The method of claim 1, further comprising compiling a recordof activities occurring during the virtual environment instance andstoring the record of activities in the database.
 6. The method of claim5, further comprising: analyzing the activities occurring during thevirtual environment instance; and identifying a person having apredetermined level of knowledge of the at least one topic.
 7. Themethod of claim 6, wherein identifying a person having a predeterminedlevel of knowledge of the at least one topic is based on contributionsrelated to the at least one topic made by persons participating in thevirtual environment instance.
 8. The method of claim 6, furthercomprising inviting the identified person to contribute to a subsequentvirtual environment instance related to the at least one topic.
 9. Asystem for constructing a topic-based virtual environment comprising: atemplate selector, the template selector selecting a virtual environmenttemplate related to at least one topic, the at least one topic being thesubject of a virtual environment instance; a database, the databasestoring data related to the at least one topic; and a processor, theprocessor loading the data related to the at least one topic from thedatabase into the virtual environment template, the virtual environmenttemplate included in the virtual environment.
 10. The system of claim 9,further comprising a topic engine, the topic engine updating thedatabase to include at least some information presented during thevirtual environment instance.
 11. The system of claim 9, wherein thevirtual environment instance includes at least one placeholder, thetemplate selector generating at least one item related to the at leastone topic for display in the at least one placeholder.
 12. The system ofclaim 11, wherein the displayed at least one item related to the atleast one topic remain displayed during a subsequent virtual environmentinstance related to the at least one topic.
 13. The system of claim 9,wherein the database stores a record of activities occurring during thevirtual environment instance.
 14. The system of claim 13, wherein theprocessor analyzes the record of activities and identifies a personhaving a predetermined level of knowledge of the at least one topic. 15.The system of claim 14, wherein the processor identifies a person havinga predetermined level of knowledge of the at least topic based oncontributions related to the at least one topic made by personsparticipating in the virtual environment instance.
 16. A method ofconstructing a three-dimensional virtual environment template, themethod comprising: identifying a topic in an initial three-dimensionalvirtual environment instance; obtaining data from a database, theobtained data related to the identified topic; defining at least onethree-dimensional placeholder within the initial three dimensionalenvironment instance; and loading the identified data into theplaceholders.
 17. The method of claim 16, further comprising defining atleast one three-dimensional object that may appear in the initialthree-dimensional virtual environment instance.
 18. The method of claim16, further comprising selecting the three-dimensional virtualenvironment template for use in a subsequent three-dimensional virtualenvironment instance related to the topic identified in the initialthree-dimensional virtual environment instance.
 19. The method of claim18, wherein the placeholders used for the initial three-dimensionalvirtual environment instance appear in the subsequent three-dimensionalvirtual environment instance.
 20. The method of claim 16, furthercomprising at least one of moving the placeholder, adding additionalplaceholders and deleting the placeholder within the three-dimensionalvirtual environment.